type
  TKeyItem = record
    C: string;
    Code: word;
  end;

const
  KeyMap : array[0..41] of TKeyItem =
    ((C:'Q';Code:XK_q),
     (C:'W';Code:XK_w),
     (C:'E';Code:XK_e),
     (C:'R';Code:XK_r),
     (C:'T';Code:XK_t),
     (C:'Z';Code:XK_z),
     (C:'U';Code:XK_u),
     (C:'I';Code:XK_i),
     (C:'O';Code:XK_o),
     (C:'P';Code:XK_p),
     (C:'7';Code:XK_7),
     (C:'8';Code:XK_8),
     (C:'9';Code:XK_9),
     (C:'<-';Code:XK_BackSpace),
     (C:'A';Code:XK_a),
     (C:'S';Code:XK_s),
     (C:'D';Code:XK_d),
     (C:'F';Code:XK_f),
     (C:'G';Code:XK_g),
     (C:'H';Code:XK_h),
     (C:'J';Code:XK_j),
     (C:'K';Code:XK_k),
     (C:'L';Code:XK_l),
     (C:'*';Code:XK_KP_Multiply),
     (C:'4';Code:XK_4),
     (C:'5';Code:XK_5),
     (C:'6';Code:XK_6),
     (C:'ENTER';Code:XK_Return),
     (C:'Y';Code:XK_y),
     (C:'X';Code:XK_x),
     (C:'C';Code:XK_c),
     (C:'V';Code:XK_v),
     (C:'B';Code:XK_b),
     (C:'N';Code:XK_n),
     (C:'M';Code:XK_m),
     (C:'-';Code:XK_KP_Subtract),
     (C:'=';Code:XK_KP_Equal),
     (C:'C';Code:XK_c),
     (C:'V';Code:XK_v),
     (C:'1';Code:XK_1),
     (C:'2';Code:XK_2),
     (C:'3';Code:XK_3));



